App FeaturePython/it

Other languages:

Introduzione

Un oggetto App FeaturePython, o formalmente un App::FeaturePython, è una semplice istanza di App DocumentObject in Python.

Questo è un oggetto semplice che per impostazione predefinita non ha molte proprietà, ad esempio non ha un posizionamento o una forma topologica. A seconda delle proprietà che gli vengono assegnate, può essere utilizzato per gestire diverse tipologie di dati.

Diagramma semplificato delle relazioni tra gli oggetti principali in FreeCAD

Utilizzo

Un App FeaturePython è un oggetto interno, quindi non può essere creato dall'interfaccia grafica. È pensato per essere sottoclassato da classi che gestiranno diversi tipi di dati.

Per esempio, gli oggetti Testo, Dimensione, e Piano di lavoro proxy di Draft sono oggetti App::FeaturePython oggetti con un'icona personalizzata e proprietà aggiuntive. Conservano i dati ma non sono in effetti Part TopoShape.

Se l'oggetto desiderato deve avere un posizionamento, una forma, un allegato o altre proprietà complesse, è meglio creare una delle classi più complesse, ad esempio, App GeoFeature, Part Feature, o Part Part2DObject.

Proprietà

Vedere Proprietà per tutti i tipi di proprietà che possono avere gli oggetti con script.

L'oggetto App FeaturePython (classe App::FeaturePython) è derivato dall'oggetto base App DocumentObject (classe App::DocumentObject) ed eredita tutte le sue proprietà. Ha inoltre diverse proprietà aggiuntive.

Queste sono le proprietà disponibili nell'editor delle proprietà. Le proprietà nascoste possono essere mostrate usando il comando Mostra tutto nel menu contestuale dell'editor delle proprietà.

Dati

Base

Vista

Base

Display Options

Selection

Script

Vedere anche: Script di base per FreeCAD, e script di oggetti.

Vedere Part Feature per le informazioni generali sull'aggiunta di oggetti al documento.

Una App FeaturePython viene creata con il metodo addObject() del documento

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::FeaturePython", "Name")
obj.Label = "Custom label"